﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ComputerArchitecture.Numbers;

namespace ComputerArchitecture.Units.Integers.Unsigned.Interfaces
{
    public interface IUnsignedDivideUnit : IDivideUnit
    {
        IUnsignedBitNumber Divide(IUnsignedBitNumber dividend, IUnsignedBitNumber divisor,
                                  out IUnsignedBitNumber remainder);

        IUnsignedBitNumber Divide(IUnsignedBitNumber dividendMoreSignificant, IUnsignedBitNumber dividendLessSignificant,
                                  IUnsignedBitNumber divisor);

        IUnsignedBitNumber Divide(IUnsignedBitNumber dividend, IUnsignedBitNumber divisor);
        
    }
}
